import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)

/**
 * Clase que simula el comportamiento de un contador, este se puede personalizar (nombre y valor inicial)
 * 
 * @author MORALES IBARRA IVAN ISRAEL
 * 
 */
public class Contador extends Actor
{
    private int valor;
    private String cadena;
    /**
     *Constructor de la clase
     *
     * @param  val valor entero inicial del contador
     * @param  nom cadena para mostrar como identificador del contador
     */
    public Contador(int val,String nom)
    {
        valor=val;
        cadena=nom;
        setImage(new GreenfootImage(cadena+" "+valor+"",25,java.awt.Color.WHITE,java.awt.Color.BLACK));
    }
    
    /**
     *Incrementa el valor del contador en 1, y actualiza la imagen en pantalla
     *
     */
    public void aumentaContador()
    {
            valor++;
            setImage(new GreenfootImage(cadena+" "+valor+"",25,java.awt.Color.WHITE,java.awt.Color.BLACK));   
    }

    /**
     * Decrementa el valor del contador en 1, y actualiza la imagen en pantalla
     */
    public void decrementaContador()
    {
        valor=valor-1;
        setImage(new GreenfootImage(cadena+" "+valor+"",25,java.awt.Color.WHITE,java.awt.Color.BLACK));   
    }
    
    /**
     * Regresa la cadena que tiene asignada el contador
     *
     * @return     la cadena del contador
     */
    public String dameNombre()
    {
        return cadena;
    }


    /**
     * Regresa el valor actual en entero del contador
     *
     *
     * @return     valor actual del contador
     */
    public int dameValor()
    {
        return valor;
    }
    
    /**
     * Establece el valor del contador en 0
     *
     */
    public void reiniciaCont()
    {
        valor=0;
         setImage(new GreenfootImage(cadena+" "+valor+"",25,java.awt.Color.WHITE,java.awt.Color.BLACK));
    }

}
